import { getTaskById, getRecentExecutions } from "../../../service/scheduler"; export default defineWrappedResponseHandler(async (event) => { const id = getRouterParam(event, "id"); if (!id) return R.throwError(400, "Missing id", null); const cacheKey = `scheduler:task:${id}` const cached = await event.context.cache.get<{ task: unknown, recentExecutions: unknown[] }>(cacheKey) if (cached) return R.success(cached) const task = await getTaskById(id); if (!task) return R.throwError(404, "Task not found", null); const recentExecutions = await getRecentExecutions(id, 20); const result = { task, recentExecutions } await event.context.cache.set(cacheKey, result, 60) return R.success(result); });